import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Esta clase representa al boton timon que inicia el menu principal.
 * @author Miguel Martinez Aguilar
 * @version 04 de abril de 2013
 */
public class Timon extends Boton
{
    // Declaracion de variables de instancia
    private boolean activo;// es un boleano que indica si este boton gira.
    private boolean activo2;// es un boleano que indica si este boton esta activo para ejecutarse.
    private int aux;// es un auxiliar contador de giros.
    private Puerta puerta;// es la puerta que da acceso al juego.

    /**
     * Este es el metodo constructor del Timon.
     * @param puerta: la puerta que da acceso al juego.
     */
    public Timon(Puerta puerta)
    {
        super("timon0.png","timon1.png","timon2.png");
        activo = false;
        activo2 = true;
        aux = 0;
        this.puerta = puerta;
    }
    
    /**
     * Este metodo gira el timon y posteriormente abre la puerta.
     */
    public void act() 
    {
        if(activo){
            if(contador(1)){
                this.turn(10);
                aux++;
                if(aux == 20)this.prepara();
            }
        }
    }
    
    /**
     * Este metodo activa el movimiento giratorio de este boton.
     */
    public void ejecuta()
    {
        if(activo2){
            activo2 = false;
            activo = true;
            img[1] = img[2] = img[0];
        }
    }
    
    /**
     * Este metodo elimina este objeto y prepara el menu principal y abre la puerta.
     */
    public void prepara()
    {
        ScrollWorld mundom = super.getWorld();// este metodo nos permite acceder al mundo
        puerta.activar();
        mundom.removeObject(this);// con este metodo eliminamos un objeto del mundo
    }
}
